home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / PowerPC / Dev / PPCRelease / Examples / Timer / PPCTimer.s < prev    next >
Encoding:
Text File  |  2000-03-06  |  6.4 KB  |  459 lines

  1.     .file    "PPCTimer.c"
  2. gcc2_compiled.:
  3.     .globl Test
  4.     .section    ".sdata","aw"
  5.     .align 3
  6.     .type     Test,@object
  7.     .size     Test,8
  8. Test:
  9.     .long 0x418fa2f5
  10.     .long 0x58000000
  11.     .section    ".rodata"
  12.     .align 2
  13. .LC0:
  14.     .string    "TicksPerSec %Ld\n"
  15.     .align 2
  16. .LC1:
  17.     .string    "StartTicks 0x%Lx\n"
  18.     .align 2
  19. .LC2:
  20.     .string    "StopTicks 0x%Lx\n"
  21.     .align 2
  22. .LC3:
  23.     .string    "Current 0x%Lx\n"
  24.     .align 2
  25. .LC4:
  26.     .string    "DiffTicks %Ld\n"
  27.     .align 2
  28. .LC5:
  29.     .string    "PPCOutput() context switch took %4g seconds\n"
  30.     .globl __floatdidf
  31.     .align 2
  32. .LC6:
  33.     .string    "DiffMicro %Ld\n"
  34.     .align 2
  35. .LC7:
  36.     .string    "DiffSecs %Ld\n"
  37.     .align 2
  38. .LC8:
  39.     .string    "DiffMins %Ld\n"
  40.     .align 2
  41. .LC9:
  42.     .string    "DiffHours %Ld\n"
  43.     .align 2
  44. .LC10:
  45.     .string    "DiffDays %Ld\n"
  46.     .align 2
  47. .LC11:
  48.     .string    "Use 50Hz Timer to wait 4 seconds\n"
  49.     .align 2
  50. .LC12:
  51.     .string    "notification received\n"
  52.     .align 2
  53. .LC13:
  54.     .string    "Restart 4 second timers\n"
  55.     .align 2
  56. .LC14:
  57.     .string    "Use new 50Hz Timer to wait again 4 seconds\n"
  58.     .align 2
  59. .LC15:
  60.     .string    "waited for %g %g %g(float) %ld(int) seconds\n"
  61.     .globl __divdi3
  62.     .align 2
  63. .LC17:
  64.     .string    "Couldn`t alloc Signal\n"
  65.     .align 3
  66. .LC16:
  67.     .long 0x418fa2f5
  68.     .long 0x58000000
  69.     .section    ".text"
  70.     .align 2
  71.     .globl main
  72.     .type     main,@function
  73. main:
  74.     stwu 1,-144(1)
  75.     mflr 0
  76.     stfd 30,128(1)
  77.     stfd 31,136(1)
  78.     stw 20,80(1)
  79.     stw 21,84(1)
  80.     stw 22,88(1)
  81.     stw 23,92(1)
  82.     stw 24,96(1)
  83.     stw 25,100(1)
  84.     stw 26,104(1)
  85.     stw 27,108(1)
  86.     stw 28,112(1)
  87.     stw 29,116(1)
  88.     stw 30,120(1)
  89.     stw 31,124(1)
  90.     stw 0,148(1)
  91.     lis 0,0x8002
  92.     ori 0,0,16385
  93.     li 30,1
  94.     li 27,0
  95.     stw 0,8(1)
  96.     stw 30,12(1)
  97.     stw 27,16(1)
  98.     addi 3,1,8
  99.     bl PPCCreateTimerObject
  100.     mr. 31,3
  101.     bc 12,2,.L3
  102.     lis 4,0x8002
  103.     ori 4,4,16401
  104.     li 5,0
  105.     mr 3,31
  106.     bl PPCSetTimerObject
  107.     lis 25,.LC4@ha
  108.     addi 29,1,48
  109.     bl PPCOutput
  110.     lis 24,.LC6@ha
  111.     lis 4,0x8002
  112.     mr 3,31
  113.     ori 4,4,16402
  114.     li 5,0
  115.     bl PPCSetTimerObject
  116.     lis 23,.LC7@ha
  117.     lis 4,0x8002
  118.     addi 5,1,40
  119.     ori 4,4,16403
  120.     mr 3,31
  121.     bl PPCGetTimerObject
  122.     lis 22,.LC8@ha
  123.     lwz 5,40(1)
  124.     lwz 6,44(1)
  125.     lis 3,.LC0@ha
  126.     la 3,.LC0@l(3)
  127.     crxor 6,6,6
  128.     bl PPCprintf
  129.     lis 21,.LC9@ha
  130.     lis 4,0x8002
  131.     ori 4,4,16401
  132.     mr 3,31
  133.     mr 5,29
  134.     bl PPCGetTimerObject
  135.     lis 20,.LC10@ha
  136.     lwz 5,48(1)
  137.     lwz 6,52(1)
  138.     lis 3,.LC1@ha
  139.     la 3,.LC1@l(3)
  140.     crxor 6,6,6
  141.     bl PPCprintf
  142.     lis 4,0x8002
  143.     ori 4,4,16402
  144.     mr 3,31
  145.     mr 5,29
  146.     bl PPCGetTimerObject
  147.     lwz 5,48(1)
  148.     lwz 6,52(1)
  149.     lis 3,.LC2@ha
  150.     la 3,.LC2@l(3)
  151.     crxor 6,6,6
  152.     bl PPCprintf
  153.     lis 4,0x8002
  154.     ori 4,4,16404
  155.     mr 3,31
  156.     mr 5,29
  157.     bl PPCGetTimerObject
  158.     lwz 5,48(1)
  159.     lwz 6,52(1)
  160.     lis 3,.LC3@ha
  161.     la 3,.LC3@l(3)
  162.     crxor 6,6,6
  163.     bl PPCprintf
  164.     lis 4,0x8002
  165.     ori 4,4,16405
  166.     mr 3,31
  167.     mr 5,29
  168.     bl PPCGetTimerObject
  169.     lwz 5,48(1)
  170.     lwz 6,52(1)
  171.     la 3,.LC4@l(25)
  172.     crxor 6,6,6
  173.     bl PPCprintf
  174.     lwz 3,48(1)
  175.     lwz 4,52(1)
  176.     crxor 6,6,6
  177.     bl __floatdidf
  178.     fmr 31,1
  179.     lwz 3,40(1)
  180.     lwz 4,44(1)
  181.     crxor 6,6,6
  182.     bl __floatdidf
  183.     lis 3,.LC5@ha
  184.     fdiv 1,31,1
  185.     la 3,.LC5@l(3)
  186.     creqv 6,6,6
  187.     bl PPCprintf
  188.     lis 4,0x8002
  189.     ori 4,4,16406
  190.     mr 3,31
  191.     mr 5,29
  192.     bl PPCGetTimerObject
  193.     lwz 5,48(1)
  194.     lwz 6,52(1)
  195.     la 3,.LC6@l(24)
  196.     crxor 6,6,6
  197.     bl PPCprintf
  198.     lis 4,0x8002
  199.     ori 4,4,16407
  200.     mr 3,31
  201.     mr 5,29
  202.     bl PPCGetTimerObject
  203.     lwz 5,48(1)
  204.     lwz 6,52(1)
  205.     la 3,.LC7@l(23)
  206.     crxor 6,6,6
  207.     bl PPCprintf
  208.     lis 4,0x8002
  209.     ori 4,4,16408
  210.     mr 3,31
  211.     mr 5,29
  212.     bl PPCGetTimerObject
  213.     lwz 5,48(1)
  214.     lwz 6,52(1)
  215.     la 3,.LC8@l(22)
  216.     crxor 6,6,6
  217.     bl PPCprintf
  218.     lis 4,0x8002
  219.     ori 4,4,16409
  220.     mr 3,31
  221.     mr 5,29
  222.     bl PPCGetTimerObject
  223.     lwz 5,48(1)
  224.     lwz 6,52(1)
  225.     la 3,.LC9@l(21)
  226.     crxor 6,6,6
  227.     bl PPCprintf
  228.     lis 4,0x8002
  229.     ori 4,4,16410
  230.     mr 3,31
  231.     mr 5,29
  232.     bl PPCGetTimerObject
  233.     lwz 5,48(1)
  234.     lwz 6,52(1)
  235.     la 3,.LC10@l(20)
  236.     crxor 6,6,6
  237.     bl PPCprintf
  238.     lis 3,.LC11@ha
  239.     la 3,.LC11@l(3)
  240.     crxor 6,6,6
  241.     bl PPCprintf
  242.     li 3,-1
  243.     bl PPCAllocSignal
  244.     mr 26,3
  245.     cmpwi 0,26,-1
  246.     bc 12,2,.L4
  247.     lis 0,0x8002
  248.     lis 9,0x8002
  249.     lis 11,0x8002
  250.     ori 0,0,16386
  251.     ori 9,9,16387
  252.     ori 11,11,16388
  253.     li 10,200
  254.     slw 28,30,26
  255.     lis 4,0x8002
  256.     stw 30,28(1)
  257.     stw 0,8(1)
  258.     stw 10,12(1)
  259.     stw 9,16(1)
  260.     stw 11,24(1)
  261.     stw 27,32(1)
  262.     mr 3,31
  263.     ori 4,4,16401
  264.     li 5,0
  265.     stw 28,20(1)
  266.     bl PPCSetTimerObject
  267.     addi 3,1,8
  268.     bl PPCCreateTimerObject
  269.     mr. 30,3
  270.     bc 12,2,.L5
  271.     mr 3,28
  272.     bl PPCWait
  273.     lis 27,.LC12@ha
  274.     lis 4,0x8002
  275.     ori 4,4,16402
  276.     li 5,0
  277.     mr 3,31
  278.     bl PPCSetTimerObject
  279.     la 3,.LC12@l(27)
  280.     crxor 6,6,6
  281.     bl PPCprintf
  282.     lis 3,.LC13@ha
  283.     la 3,.LC13@l(3)
  284.     crxor 6,6,6
  285.     bl PPCprintf
  286.     lis 4,0x8002
  287.     mr 3,31
  288.     ori 4,4,16401
  289.     li 5,0
  290.     bl PPCSetTimerObject
  291.     lis 4,0x8002
  292.     mr 3,30
  293.     ori 4,4,16401
  294.     li 5,0
  295.     bl PPCSetTimerObject
  296.     mr 3,28
  297.     bl PPCWait
  298.     lis 4,0x8002
  299.     ori 4,4,16402
  300.     li 5,0
  301.     mr 3,31
  302.     bl PPCSetTimerObject
  303.     la 3,.LC12@l(27)
  304.     crxor 6,6,6
  305.     bl PPCprintf
  306.     mr 3,30
  307.     bl PPCDeleteTimerObject
  308.     lis 3,.LC14@ha
  309.     la 3,.LC14@l(3)
  310.     crxor 6,6,6
  311.     bl PPCprintf
  312.     lis 4,0x8002
  313.     mr 3,31
  314.     ori 4,4,16401
  315.     li 5,0
  316.     bl PPCSetTimerObject
  317.     addi 3,1,8
  318.     bl PPCCreateTimerObject
  319.     mr. 30,3
  320.     bc 12,2,.L6
  321.     mr 3,28
  322.     bl PPCWait
  323.     lis 4,0x8002
  324.     mr 3,31
  325.     ori 4,4,16402
  326.     li 5,0
  327.     bl PPCSetTimerObject
  328.     la 3,.LC12@l(27)
  329.     crxor 6,6,6
  330.     bl PPCprintf
  331.     mr 3,30
  332.     bl PPCDeleteTimerObject
  333. .L6:
  334.     lis 4,0x8002
  335.     addi 5,1,56
  336.     ori 4,4,16405
  337.     mr 3,31
  338.     bl PPCGetTimerObject
  339.     lwz 5,56(1)
  340.     lwz 6,60(1)
  341.     la 3,.LC4@l(25)
  342.     crxor 6,6,6
  343.     bl PPCprintf
  344.     lwz 3,56(1)
  345.     lwz 4,60(1)
  346.     crxor 6,6,6
  347.     bl __floatdidf
  348.     lwz 3,56(1)
  349.     lwz 4,60(1)
  350.     fmr 30,1
  351.     crxor 6,6,6
  352.     bl __floatdidf
  353.     fmr 31,1
  354.     lwz 3,40(1)
  355.     lwz 4,44(1)
  356.     crxor 6,6,6
  357.     bl __floatdidf
  358.     lwz 5,40(1)
  359.     lwz 6,44(1)
  360.     fdiv 31,31,1
  361.     lwz 3,56(1)
  362.     lwz 4,60(1)
  363.     crxor 6,6,6
  364.     bl __divdi3
  365.     lis 9,.LC16@ha
  366.     lfd 1,.LC16@l(9)
  367.     mr 5,3
  368.     mr 6,4
  369.     lis 3,.LC15@ha
  370.     la 3,.LC15@l(3)
  371.     fmr 2,30
  372.     fmr 3,31
  373.     creqv 6,6,6
  374.     bl PPCprintf
  375.     lis 4,0x8002
  376.     ori 4,4,16406
  377.     mr 3,31
  378.     mr 5,29
  379.     bl PPCGetTimerObject
  380.     lwz 5,48(1)
  381.     lwz 6,52(1)
  382.     la 3,.LC6@l(24)
  383.     crxor 6,6,6
  384.     bl PPCprintf
  385.     lis 4,0x8002
  386.     ori 4,4,16407
  387.     mr 3,31
  388.     mr 5,29
  389.     bl PPCGetTimerObject
  390.     lwz 5,48(1)
  391.     lwz 6,52(1)
  392.     la 3,.LC7@l(23)
  393.     crxor 6,6,6
  394.     bl PPCprintf
  395.     lis 4,0x8002
  396.     ori 4,4,16408
  397.     mr 3,31
  398.     mr 5,29
  399.     bl PPCGetTimerObject
  400.     lwz 5,48(1)
  401.     lwz 6,52(1)
  402.     la 3,.LC8@l(22)
  403.     crxor 6,6,6
  404.     bl PPCprintf
  405.     lis 4,0x8002
  406.     ori 4,4,16409
  407.     mr 3,31
  408.     mr 5,29
  409.     bl PPCGetTimerObject
  410.     lwz 5,48(1)
  411.     lwz 6,52(1)
  412.     la 3,.LC9@l(21)
  413.     crxor 6,6,6
  414.     bl PPCprintf
  415.     lis 4,0x8002
  416.     mr 5,29
  417.     mr 3,31
  418.     ori 4,4,16410
  419.     bl PPCGetTimerObject
  420.     lwz 5,48(1)
  421.     lwz 6,52(1)
  422.     la 3,.LC10@l(20)
  423.     crxor 6,6,6
  424.     bl PPCprintf
  425. .L5:
  426.     mr 3,26
  427.     bl PPCFreeSignal
  428.     b .L7
  429. .L4:
  430.     lis 3,.LC17@ha
  431.     la 3,.LC17@l(3)
  432.     crxor 6,6,6
  433.     bl PPCprintf
  434. .L7:
  435.     mr 3,31
  436.     bl PPCDeleteTimerObject
  437. .L3:
  438.     lwz 0,148(1)
  439.     mtlr 0
  440.     lwz 20,80(1)
  441.     lwz 21,84(1)
  442.     lwz 22,88(1)
  443.     lwz 23,92(1)
  444.     lwz 24,96(1)
  445.     lwz 25,100(1)
  446.     lwz 26,104(1)
  447.     lwz 27,108(1)
  448.     lwz 28,112(1)
  449.     lwz 29,116(1)
  450.     lwz 30,120(1)
  451.     lwz 31,124(1)
  452.     lfd 30,128(1)
  453.     lfd 31,136(1)
  454.     la 1,144(1)
  455.     blr
  456. .Lfe1:
  457.     .size     main,.Lfe1-main
  458.     .ident    "GCC: (GNU) 2.95.2 19991024 (release)"
  459.